package jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class JDBCDemo1 {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        /*
        使用JDBC连接数据库的基本流程
        1：加载驱动
        2：通过驱动管理器与数据库建立连接
        3：通过连接对象创建语句执行对象
        4：通过语句执行对象执行SQL语句
        5：接受数据库处理结果
        6：关闭数据库连接
         */
        //1.加载MySql驱动
        Class.forName("com.mysql.cj.jdbc.Driver");
        //2.加载驱动器与数据库建立连接
        Connection conn = DriverManager.getConnection(
                "jdbc:mysql://localhost:3306/tedu?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true",
                "root",
                "root");
        System.out.println("与数据库连接成功！");
        //3.通过连接对象创建语句执行对象
        Statement state = conn.createStatement();
        String sql="CREATE TABLE userinfo(\n" +
                "                id INT PRIMARY KEY AUTO_INCREMENT,\n" +
                "                username VARCHAR(32),\n" +
                "                password VARCHAR(32),\n" +
                "                nickname VARCHAR(32),\n" +
                "                age INT(3)\n" +
                "        );";

        /*
            boolean execute(String sql)
            该方法可以执行任意种类的SQL语句，当执行SQL后产生查询结果集则返回true
            因为执行DQL语句和DML语句有专门的方法，因此当前方法通常用于执行DDL语句
         */
        state.execute(sql);
        System.out.println("userinfo表创建完毕！");
        conn.close();

    }
}
